//
//  ConnectorProtocol.h
//  CocoaSynth
//
//  Created by Jérémy Brault on 08/02/10.
//  Copyright 2010 None. All rights reserved.
//

#import <Cocoa/Cocoa.h>

#import "SampleProtocol.h"

@protocol PortOutProtocol;
@protocol PortInProtocol;
	
/*!
    @protocol	ConnectorProtocol
    @abstract   ConnectorProtocol declare des operations permettant de gerer un connecteur.
*/
@protocol ConnectorProtocol <NSObject>

/*!
    @method     setPortOut
    @abstract   Change le port de sortie auquel le connecteur est relie.
    @param      aPortOut Le nouveau port de sortie.
*/
- (void)setPortOut:(id<PortOutProtocol>)aPortOut;

/*!
    @method     setPortIn:
    @abstract   Change le port d'entre auquel le connecteur est relie.
    @param      aPortIn Le nouveau port d'entre.
*/
- (void)setPortIn:(id<PortInProtocol>)aPortIn;

/*!
    @method     getSample
    @abstract   Renvoie le sample présent sur le connecteur.
    @result     Le sample présent sur le connecteur.
*/
- (id<SampleProtocol>)getSample;

/*!
    @method     isConnected
    @abstract   Indique si le connecteur est connecté ou non.
    @result     YES si le connecteur est relié à un port d'entré et un port de sortie, NO sinon.
*/
- (BOOL)isConnected;

@end
